In image processing on a computer-based system, the image is typically rendered, or drawn, via a graphics subsystem of the computer-based system. Integral to virtually all types of imaging processing performed by a graphic subsystem is the mapping of the image from object space to image space (i.e., pixels in the image space) and/or the mapping of the image from image space to object space. These two mapping operations have associated with them several advantages and disadvantages, a few of which are delineated below.
First, when mapping from object space to image space, it is possible to traverse the object data set only once in order to complete the transformation to image space. This is advantageous in, that it allows for a stream-based architecture which is particularly well suited for a pipelined operation. It is well known in the industry that pipelining the operation of a graphic subsystem increases the speed and efficiency of the processing. A disadvantage of mapping from object space to image space is that it can only be used for generating image pixels that are generated artificially. Accordingly, this method is typically restricted to use in three-dimensional graphics accelerators where the images are synthetically generated. Thus, this method is not presently used for image or volumetric processing methods.
Second, when mapping from image space to object space, it is possible to maintain a reference from the image pixels to the object data making it well suited for use in image or volumetric processing. However, a disadvantage of mapping from image space to object space in a computer-based system is that it requires a great deal of hardware to support the operation of addressing into the object space. For example, such a system would require a relatively large amount of random access memory (RAM) and a controller for managing the flow of data into and out of the RAM. Typically, the amount of RAM required necessitates that it be placed on a separate chip (i.e., integrated circuit) and connected to the graphics subsystem. This is undesirable because it greatly increases the cost and complexity of the system.
While the hardware required to support mapping from image space to object space proves to be a substantial disadvantage, the hardware can be optimized, but only at the cost of image quality. For instance, in order to reduce the hardware overhead, the number of bits of data may be reduced, a less computationally intensive transformation scheme may be utilized, or the amount of on board memory may be reduced, all of which degrade the quality of the image. Nonetheless, this method is widely used in hardware texture mapping systems in order to associate texture data to a particular pixel in the image space.
Hence, a heretofore unaddressed need exists in the industry for an object imaged mapping system and method that requires a minimum amount of hardware overhead without reducing image quality.